package com.chenfan.mcn.model.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 框架合同导出VO
 * @author tangwei
 * Date:     2021/1/21 15:57
 * Description: 收入合同导出
 */
@Data
public class LiveContractExportVO implements Serializable {

    private static final long serialVersionUID = 6931013408933633169L;

    /**
     * 主键id
     */
    private Long id;

    /**
     * 红人平台所在ID
     */
    private Long starPlatformInfoId;

    /**
     * 流程ID
     */
    private Long flowId;

    /**
     * 客户id
     */
    private Long customerId;

    /**
     * 所属部门
     */
    private Long departmentId;


    @Excel(name = "收入合同编号")
    private String contractCode;

    @Excel(name = "单据状态", replace = {"待提交_0", "审批中_1", "审批通过_2", "审批拒绝_3", "已撤回_4", "已作废_9", "_null"})
    private Integer approvalStatus;

    @Excel(name = "审批状态")
    private String flowStatusName;

    @Excel(name = "客户")
    private String customerName;

    @Excel(name = "红人")
    private String anchorName;

    @Excel(name = "合同履约有效期")
    private String liveDateRange;

    @Excel(name = "合同签订日期", format = "yyyy-MM-dd")
    private Date signDate;

    @Excel(name = "合同账期", replace = {"1个月内_0", "3个月内_1", "6个月内_2", "_null"})
    private Integer paymentDay;

    @Excel(name = "我司合同主体")
    private String companyContractSubject;

    @Excel(name = "品牌")
    private String cooperateBrand;

    @Excel(name = "合作产品")
    private String cooperateProduct;

    @Excel(name = "是否业绩共享", replace = {"是_true", "否_false", "_null"})
    private Boolean performanceShare;

    @Excel(name = "业绩共享人姓名")
    private String performanceSharerName;

    @Excel(name = "合作内容简介")
    private String cooperateContent;

    @Excel(name = "备注")
    private String remark;

    @Excel(name = "所属部门")
    private String department;

    @Excel(name = "创建人")
    private String createName;

    @Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    @Excel(name = "最近修改人")
    private String updateName;

    @Excel(name = "最近修改时间", format = "yyyy-MM-dd HH:mm:ss")
    private Date updateDate;

    @Excel(name = "回款状态", replace = {"未回款_0", "部分回款_1", "已回款_2", "_null"})
    private Integer payBackStatus;

    @Excel(name = "回款金额", type = 10)
    private BigDecimal payBackAmount;

    @Excel(name = "归档状态",  replace = {"待盖章_0", "待归档_1", "已归档_2"})
    private Integer archivingStatus;

    @Excel(name = "归档编号")
    private String archivingCode;

    @Excel(name = "已执行金额", type = 10)
    private BigDecimal executedAmount;

    @Excel(name = "线下佣金结算状态", replace = {"待结算_0","结算中_1","待回款_2","部分回款_3","已回款_4"})
    private Integer offlineCommissionSettleStatus;

    @Excel(name = "客户返点审批单号")
    private String rebateContractCode;

    @Excel(name = "保ROI")
    private String roiRate;

    @Excel(name = "目标销售额", type = 10)
    private BigDecimal targetSalesAmt;

    @Excel(name = "目标销售额备注")
    private String targetSalesRemark;

    @Excel(name = "线下佣金应收金额", type = 10)
    private BigDecimal offlineCommissionAmount;

    @Excel(name = "收入总金额", type = 10)
    private BigDecimal businessAmount;

    @Excel(name = "是否有参与保比的广告收入", replace = {"否_0", "是_1"})
    private Integer roiAdvAmtEquity;

    @Excel(name = "参与保比的广告收入金额", type = 10)
    private BigDecimal roiAdvAmt;

    @Excel(name = "是否有不参与保比的广告收入", replace = {"否_0", "是_1"})
    private Integer noroiAdvAmtEquity;

    @Excel(name = "不参与保比的广告收入金额", type = 10)
    private BigDecimal noroiAdvAmt;

    @Excel(name = "参与保比的直播收入", type = 10)
    private BigDecimal roiLiveAmt;

    @Excel(name = "不参与保比的直播收入", type = 10)
    private BigDecimal noroiLiveAmt;

    @Excel(name = "参与保比的其他收入", type = 10)
    private BigDecimal roiOhterAmt;

    @Excel(name = "不参与保比的其他收入", type = 10)
    private BigDecimal noroiOhterAmt;

    @Excel(name = "线上佣金比例", suffix = "%")
    private String onlineCommissionRate;

    @Excel(name = "线下佣金比例", suffix = "%")
    private String offlineCommissionRate;

    @Excel(name = "佣金备注")
    private String commissionPercentRemark;

    /**
     * 直播提成结算状态：0未结算 2已结算
     */
    @Excel(name = "直播提成结算状态", replace = {"未结算_0", "已结算_2"})
    private Integer liveCommissionSettleStatus;

    /**
     * 是否保ROI：0否 1是
     */
    private Integer isRoi;
}